package com.ft.security.service;

import com.ft.security.model.JwtToken;
import com.ft.security.model.JwtUser;

/**
 * @copyright (C), 2015-2019, XXX有限公司
 * @fileName: IAuthService
 * @author: 李阳
 * @date: 2019/7/1 23:12
 * @description: 授权鉴权服务接口, 登录、注册、刷新Token等
 * @history: <author>          <time>          <version>          <desc>
 * 作者姓名           修改时间           版本号              描述
 */
public interface IAuthService {

    /**
     * 用户名密码登录
     *
     * @param username 用户名
     * @param password 密码
     * @return Token
     */
    JwtToken login(String username, String password);


    /**
     * 当前用户退出登录
     *
     * @return
     */
    Boolean logout();

    /**
     * 用户名密码登录
     *
     * @param username 用户名
     * @param password 密码
     * @param tenantId 租户Id
     * @return Token
     */
    JwtToken login(String username, String password, Long tenantId);

    /**
     * 获取具体系统租户的用户信息
     *
     * @param username
     * @param tenantId
     * @return
     */
    JwtUser loadUserByUsername(String username, Long tenantId);

}
